<?php
//设置网页文件字符集
header('Content-type:text/html;charset=UTF-8');
//包含数据库连接文件
require_once 'Conn.php';
//设置数据库字符集，避免中文乱码
$db->query("SET NAMES utf8");

//处理用户提交的原始数据
function checkInput($data)
{
    $data = trim($data);   //去除空格等不必要字符
    $data = stripslashes($data);    //删除反斜杠
    $data = htmlspecialchars($data);    //转义HTML特殊字符
    return $data;
}
//获取学号
$stuNo = checkInput($_POST['stuNo']);
//获取姓名
$stuName = checkInput($_POST['stuName']);
if (empty($stuName)) {
    echo "<script>alert('姓名没有填写！'); history.go(-1);</script>";
    exit();
}
//获取班级
$className = checkInput($_POST['className']);
//获取性别
$sex = checkInput($_POST['sex']);
//获取爱好
if (array_key_exists('hobby', $_POST)) {
//如果用户选择了爱好，将爱好数组中的元素连接起来，以逗号分隔
    $hobby = join(',', $_POST['hobby']);
} else {
    $hobby = '';
}
//获取手机
$mobile = checkInput($_POST['mobile']);
//获取邮箱
$email = checkInput($_POST['email']);

//处理相片上传
switch ($_FILES['photo']['error']) {    //上传文件的错误信息
    case 0:     //成功上传
        $ftypes = ['image/gif', 'image/pjpeg', 'image/jpeg', 'image/x-png'];  //要求的文件类型
        $type = $_FILES['photo']['type'];   //上传文件的文件类型
        if (in_array($type, $ftypes)) {   //上传文件指定的类型
            $fname = $_FILES['photo']['name'];    //文件名
            //避免文件重名，将文件名改为以学号命名
            $tmp = explode('.', $fname);   //将文件名以'.'分割得到后缀名，得到一个数组
            $newFname = $stuNo . '.' . $tmp[1]; //新的文件名为学号
            $destination = 'Upload/' . $newFname;  //文件存储目标路径
            move_uploaded_file($_FILES['photo']['tmp_name'], $destination);  //上传文件从临时文件夹移动至目标文件夹 
        } else {
            echo "<script>alert('上传文件类型不符合要求！'); history.go(-1);</script>";
            exit();
        }
        break;
    case 1:     //文件大小超过了PHP默认的限制2M
        echo "<script>alert('上传文件出错，文件大小超出了限制！'); history.go(-1);</script>";
        exit();
    case 4:     //没有选择上传文件
        $destination = '';
        break;
}

/* 更新Student数据表，并返回学生信息页面*/
if($destination==''){
  
    $sql = "UPDATE Student SET StudentName='$stutName',ClassNo='$className',Sex='$sex',Hobby='$hobby',
    Mobile='$mobile',Email='$email' WHERE StudentTD='$stuNo'";
}
else{
    $sql = "UPDATE Student SET StudentName='$stutName',ClassNo='$className',Sex='$sex',Hobby='$hobby',
    Mobile='$mobile',Email='$email',Photo='$destination' WHERE StudentTD='$stuNo'";
}
$result = $db->query($sql);
if ($result) {
    echo "<script>alert('更新成功！'); window.location='Students.php';</script>";
} else {
    echo "<script>alert('更新失败！'); window.location='Students.php';</script>";

}

?>